'use strict';
const {
	Router
} = require('uni-cloud-router')
const router = new Router(require('./config.js')) 
//调用uni-cloud-router 的入口文件
exports.main = async (event, context) => {
	//支付模块相关http请求https://3fbab731-e993-47e6-882f-a74e444709a3.bspapp.com/http/mall/notify/verify/mp-weixin/wxpay/mall
	//通知/http/mall/notify/mp-weixin/wxpay/mall
	///http/mall/payment/wxpay/verify/mp-weixin/mall
	console.log('执行云函数request,参数event',event);
	if (event.path && event.path.indexOf("payment/notify") != -1) {
		let notifys = event.path.split("payment/notify/");
		//得到mp-weixin/mall
		let subModule = notifys[1].split("/");
		// console.log("body", event.body)
		//第一位是应用ID
		context.APPID = subModule.shift();
		console.log("module", subModule)
		event.queryStringParameters.subModule = subModule;
		//通知验证
		event.path = "/payment/notify"
		context.PLATFORM = "web"
		context.LOCALE = 'zh-Hans'
	} else if (event.timingTriggerConfig || event.Type == "Timer") {
		//定时器
		context.APPID = "all"
		//定时器
		event.path = "/system/app/timer"
		//腾讯云支持多个定时器同时运行,定时触发器名称（name） ：最大支持60个字符，支持 a-z, A-Z, 0-9, - 和 _。必须以字母开头，且一个函数下不支持同名的多个定时触发器。
		if (event.TriggerName) {
			//填写格式__UNI__2980DBC-housing
			let args = event.TriggerName.split("-")
			//第一个必须作为appid
			if (args[0].indexOf("__UNI__") == 0 && args.length > 1) {
				context.APPID = args.shift();
				//直接更改方法
				event.path = "/system/app/" + args.shift();
			}
		}
	} else if (event.path) {
		context.APPID = "all"
		//请求地址为   /http/mall/__UNI__EDBD14B/goods/update，path=/__UNI__EDBD14B/goods/update
		let paths = event.path.split("/");
		if (paths[1] && paths[1].indexOf("__UNI__") == 0) {
			//去除第一个空字符串
			paths.shift()
			context.APPID = paths.shift()
			event.path = "/" + paths.join("/")
		}
		context.PLATFORM = "web"
		context.LOCALE = 'zh-Hans'
	}

	//请求内容为json,this.ctx.data和this.ctx.query，能获取到get和post参数
	// if (event.path && event.headers && event.headers["content-type"] && event.headers["content-type"].indexOf(
	// 		"application/json") != -1) {
	// 	//转换为对象
	// 	event.queryStringParameters = Object.assign({}, {
	// 		...event.queryStringParameters,
	// 		...JSON.parse(event.body),
	// 		isHttp: true
	// 	});
	// }
	//短信验证码登录操作至此 wjf 此处无法读this.ctx
	//router--router云函数路由库，同时支持 uniCloud 客户端及 URL __WJF
	
	return router.serve(event, context) //接管云函数__WJF
};
